package com.lysb.modules.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

import java.beans.Transient;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

@Data
public class AdmissionRecordData {
    private String medicalNum; 				// 就诊流水号			String	非空	患者在院一次就诊的唯一标识
    private String chiefComplaint;			// 主诉				String	非空
    private String historyPresentIllness;	// 现病史				String	非空
    private String pastDiseaseHistory;		// 既往史				String	非空
    private String personalHistory;			// 个人史				String	非空
    private String obstetricalHistory;		// 婚育史 				String
    private String menstruationHistory;		// 月经史				String
    private String familyHistory;			// 家族史				String	非空
    private String physicalExamination;		// 体格检查 			String	非空
    private String auxiliaryExamination;	// 辅助检查 			String	非空
    private String juniorCollege;			// 专科情况 			String	非空
    private String preliminaryDiagnosis;	// 初步诊断			String	非空	有多个诊断，请参考如下格式 ：1、冠心病 2、糖尿病
    private String confirmDiagnosis;		// 确认诊断			String	非空	和出院小结打印内容一致，请参考如下格式 ：1、冠心病 2、糖尿病
    private String supplementaryDiagnosis;	// 补充诊断			String	非空	和出院小结打印内容一致，请参考如下格式 ：1、冠心病 2、糖尿病
    private String revisedDiagnosis;		// 修正诊断			String	非空	和出院小结打印内容一致，请参考如下格式 ：1、冠心病 2、糖尿病
    private String admittingDiagnosis;		// 入院记录全量数据	String	非结构化非空	病历非结构化，传全量，与入院记录打印内容一致

    private transient byte[] blnr;

    public String getAdmittingDiagnosis() {
        try {
            if(!Objects.isNull(blnr)) {
                admittingDiagnosis = new String(blnr, "GBK");
            }
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return admittingDiagnosis;
    }

    private List<ZyDisease> diseaseList = new ArrayList<>();			// 疾病信息列表 		Array	非空	如果入院记录和出院小结的疾病信息列通过单独的5.2.7疾病信息记录接口提供更加方便，次字段可为空
}